跳至主要内容

幹訓2

資安「超」入門

這是在幹嘛? YuSheng


這是一個很輕鬆的課程


貼心提醒 :

課程中你應該...


聽台上那個唬爛


不然欣賞我的帥氣也好


把該記得的牢牢記住


把不該記的一秒忘光


不然會有人敲我家門要送麥當勞

麥當勞歡樂送


貼心提醒 :  

課程中你不能做什麼呢?


如果我的聲音太好聽

讓你想睡覺


記得睡覺時不可以打呼


如果覺得我講得很無趣

想跟朋友聊天


不可以聊的比我還大聲


如果我講得太爛

讓你很不爽


拜託不要往台上丟垃圾

貓貓


這個一直幹話的是誰?


我是 紅**綠**燈**(洪毓昇)**


哪裡可以找到我

  • 雲科網管地下室
  • Idea Factory 創意工場ㄉ Crafts Workshop 工藝工坊
  • 活動中心很多人轉棒棒、球球或扇扇的地方

如果你都找不到?

對不起我們無緣


今天我是來幹嘛的呢?


來騙吃騙喝的


資安與你我的關聯


什麼是資訊安全?


先來講講......資訊


我們的資訊生活
LINE / Beetalk / Wechat ...聊天軟體
Facebook / plurk ...社交網路
Gmail / google doc / Youtube...網路服務
Y拍 / 露天拍賣 / PChome ...購物網站
dropbox / google drive ...雲端儲存
學校選課系統 / 成績查詢系統 ...校園資訊服務
政府戶政系統 / 公文系統 ...政府行政系統
...... and more

那麼資訊怎樣不安全


Line 詐騙

援交圖


第一次支付 Bitcoin 就上手 

檔案通通加密超安全的

Wanna Cry


密碼遭竊 駭客幫你跟學妹告白

綿羊牆


資訊安全影響到底多大?


在我們聊天的同時


網路攻擊其實相當頻繁

digitalattackmap


台灣每分鐘就遭受 6次攻擊


好了說了那麼多進入今天主題吧

讓我們來聊聊...


何謂駭客?


你認為駭客是怎樣的人?


大部分人對駭客的印象?


電影裡的駭客

電影裡的駭客


遊戲裡的駭客

遊戲裡的駭客


一般人心中的駭客

一般駭客


八點檔駭客

影片

所以什麼是駭客?


Hacker        /        Cracker

「Hacker」們建設,而「Cracker」們破壞。


駭客        /        黑客

NOTE: 「駭客」(hacker) 一詞一般有以下意義: 一個對(某領域內的)程式語言有足夠了解,可以不經長時間思考 就能創造出有用的軟體的人。 喜愛編程(Coding)並享受在其中變得更擅長於編程的人。 喜愛自由(Freedom),不易受約束,但覺得假如是為了喜愛的事物, 可以被受適當的約束。 「黑客、怪客、垮客和劊客」(cracker) 一詞一般有以下意義: 一個惡意(一般是非法地)試圖破解或破壞某個程式、系統及網路 安全的人。


白帽駭客        /        黑帽駭客


何謂 駭客 / 白帽駭客 !?


好人


好人卡

NOTE: 白帽駭客有能力入侵電腦系統、破壞系統。不過他利用他的技能來協助組 織加強安全。例如在資安公司進行滲透、弱掃的執行者,或負責資安的 網管人員。


  • 滲透測試工程師
  • 資安威脅分析師
  • SOC 監控工程師
  • 漏洞挖掘工程師
  • 資訊安全顧問
  • etc......   

何謂 黑客 / 黑帽駭客 


壞人


壞人卡

NOTE: 黑帽駭客也被叫做Cracker,他們利用自已的技能來進行非道德行為。如攻擊、竊取資料…。


  • 垃圾郵件、簡訊寄送黑產
  • 個資販售
  • DDoS 攻擊流量販售
  • 針對社群帳號、公司等攻擊委託
  • 外掛、後門製作販售

提問 : 要當好人還壞人

先論 : 當好人好累

後論 : 當壞人好爽

結論 : 我要當壞人 


所以分析一下...

駭客的第一堂課


成為駭客前要學習的有...

有的沒的


俗話說我們領進門,修行在個人

今天只會講一點點的密碼學&網路資安


讓人好想睡覺的密碼學


密碼學是什麼

  • 不是研究怎麼設安全的密碼
  • 不是教你怎麼破解別人 Instagram
  • 不會因為知道密碼學在幹嘛就變成天才駭客
  • 很多很多很多數學

常見詞彙解釋

加密 Encrypt指將明文經過某種程序轉換成密文,該程序稱為加密
解密 Decrypt指將密文經過某種程序轉換成明文,該程序稱為解密
明文 Plaintext加密前的訊息
密文 Cipertext加密後的訊息
演算法 Algorithm解決複雜問題的程序
密碼學演算法做與密碼學相關程序(如加密、解密、簽章...)的演算法
金鑰/密鑰 Key加解密時所使用的「鑰匙」

開始之前打開一下這ㄍ網址,然後註冊

點 Join Team

Join Team


Team Name 是第一、第二、第三組

Team Password 是 first、second、third

分組名單

第一組: 張珉萁、何育玟、蔡承佑、周永陞 第二組: 謝孟憲、張慈玲、范綱庭、陳珮玲 第三組: 伍俊義、高仲寧、林家明


然後先來玩一下ㄅ

點我點我


古典密碼學

  • 資料保密、傳遞
  • 密碼破譯

常見的古典加密法

  • 豬圈加密
  • 凱薩密碼
  • 單一字元替代密碼

何謂 豬圈加密 ?

豬圈

阿 放錯ㄌ

NOTE: 沒有人明確知道它是什麼時候發明的 但在1700年代,共濟會常常使用這種密碼保護一些私密紀錄或用來通訊,所以又稱共濟會密碼。


他的概念像

豬圈密碼表 豬圈密碼圖解

NOTE:是一種通過格子符號作為基礎來代替的簡單密碼,這種密碼規律性很強一般很容易破解。


何謂 凱薩密碼 ?


Step 1. 替字母編號

首先將字母依照順序排好,同時給它們編號

類似下表:

編號ABCDEF
字母012345

(為了方便,這邊我只取A~F作說明)


Step 2. 選擇偏移量

選擇1個數字,當偏移量,無論是加or解密,都是靠這個數字!
這邊先選擇「2」作為示範

Step 3. 進行加密

假設有一段文字為: ADD BAD EBB
對應 Step 1 的表可以得到各字母的編號
A D DB A DE B B
0 3 31 0 34 1 1
替各個編號加上 Step 2 時選擇的偏移量「2」
遇到超過的數字就回到 0
最後再將編號轉成對應的新字母:
C F FD C FA D D
2 5 53 2 50 3 3

用數學式表示凱薩密碼

瞬間好像很厲害


先定義一下變數的意義:

D明文 ( 加密前的文章 )
E密文 ( 加密後的文章 )
K金鑰、偏移量 ( 範圍 0 ~ 25 )

過程其實很簡單,透過 mod 就可以: | | | | ---- | ------------------------- | | 加密 | E = ( D + K ) mod 26 | | 解密 | D = ( E - K + 26 ) mod 26 |

解密為避免產生負數,所以要先 +26
透過 mod 可以使其結果範圍限制在 0~25 之中

NOTE: 以 Step 1 的表舉例的話,a的值是0,所以把 E=(0+2)mod26=2

然後解密就是 D = (2-2+26)mod26=0


用一張圖解釋一切

凱薩加密


講完來一題 睡意都遠離 :D

點我點我


何謂 單一字元替代密碼 ?


和凱薩密碼一樣是字母一對一代換,但沒有規律

豬圈密碼也是一種替代密碼

換字表(密鑰):
a -> h
b -> e
c -> q
d -> k
加密:dcba -> kqeh
解密:kqeh -> dcba

NOTE: 攻擊:字頻分析(Frequency analysis)

最常出現的字母:e, t, a, o, i

最常出現的單字:the, to, of, and


現代密碼學

  • 古典密碼學的所有東西
  • 資料完整性驗證(Data integrity)
  • 資料的不可否認性( Non-repudiation)
  • 雜湊函數(Hash)
  • 亂數
  • 隱寫術(Steganography)
  • ...

現代常見加密法可簡分成兩種

  • 對稱式加密法
  • 非對稱式加密法

何謂 對稱式加密 ?


就是加密解密用的 Key 是同一個。

NOTE: 對稱性加密中的「對稱」指的是加密和解密使用相同的金鑰(密碼表)。他的優點是加密過程簡單明瞭,且在金鑰不外流的情況下安全性很高。但缺點是一旦金鑰外流,整個密碼系統就瓦解了。無論是過去戰爭或是現代生活,保證金鑰絕不外流是一件不切實際的事,因此對稱性加密的安全性並不是真的很可靠。


知名對稱式加密演算法:AES


我累ㄌ讓我休息一下

有請 YouTube 出場

{%youtube 4AV0LEQTNTc %}


何謂 非對稱式加密 ?


加密解密使用不同的 Key

NOTE: 「非對稱」指的是加密和解密使用不同的金鑰,因此我們可以任意的發送只能用來加密的公開金鑰。圖中男孩像女孩發送訊息前,必須先索取一份公鑰,傳送訊息步驟稍長,但安全性提高很多。竊聽者再怎麼攔截訊號,都無法得到解密用的私鑰,因為它從來不存在於通訊之中。唯一能竊取私鑰的方法就是侵入持有者的電腦或家中(但如果他真的成功入侵,他直接竊取訊息就好,也不需要竊取金鑰了)。


知名非對稱演算法:RSA


RSA怎麼算ㄉ
Step 1.P=2、Q=3
Step 2.N=P x Q
Step 3.r=(P-1)(Q-1)
Step 4.公鑰 E 需符合 1<E<r 且與 r 互質
Step 5.私鑰 D = ExD mod r = 1
加密C = M^E mod N
解密M = C^D mod N
相關證明可以去 google
我相信我講ㄌ可能會死一半,包含我(#

NOTE: 先找兩個質數 P、Q

r 其實在數學上的定義是歐拉函數念作ㄈㄞ

意思是不大於r,而且和r互質的所有的整數個數

就是說在r這麼多的數裡面,有多少個數目是比r小,而且和r互質的整數個數

接下來開始噁心了,我們要開始找公鑰和私鑰,公鑰很好找,隨便找一個就好

然後我們再找一個私鑰 D ,私鑰 D 就是, E乘上D後除以r的餘數為 1

這時候就可以來加解密了,YA

阿加解密的過程就牽涉到離散數學ㄉ費馬小定理&模數運算


RSA 的安全性

回來看這張圖

NOTE: 這時如果小明傳訊息給小美後,在網路上流通的東西會有 一個大數N,還有公鑰e,以及加密過後的密文C

要解密首先需要知道的是一個N,還有私鑰D,以及密文C

如果駭客在中間竊取到資訊後,雖然有N、E、C,但因為缺少私鑰D,所以無法解密

就會有人說如果我想算一下呢,我通過E算出D行不行

E->D 必須知道 r

r = (P-1)(Q-1)

所以就必須求出P和Q

N=PxQ

這就是質因數分解


對稱非對稱比較

對稱非對稱比較


當密碼學用於資料與身份驗證

除了加密外還有 雜湊函數(Hash)


將任意長度的字串轉成固定長度

用途:

  • 驗證資料完整性(Data integrity)
    • 用不安全通道傳很大的檔案 用安全通道傳該檔案的 Hash 以節省加密解密所需的資源
  • 在不取得明文的情況下驗證資料正確性
    • 儲存使用者密碼的 Hash 在資料庫,確保管理員看不到使用者密碼的明文

Hash 的特點

  • 不管資料量多大經過雜湊運算字串長度都是一樣的
  • 它是一個不可逆的算法所以我們可以看到箭頭是單向
  • 相同的值用雜湊運算過後值都是一樣的

知名雜湊函數:MD5、SHA-256

NOTE:基本方式也是,求餘、取餘、調整長度、與連結變數進行迴圈運算。得出結果。


等等 那那那 Base64 呢?


編碼 != 加密 兩個是完全不一樣的東西

編碼 != 加密 兩個是完全不一樣的東西

編碼 != 加密 兩個是完全不一樣的東西

NOTE: Base64主要用途是某些系統中只能使用ASCII字符,為了避免某些機器無法識別我們傳輸資料


根據維基百科ㄉ解釋 :D

Base64


終於結束ㄌ可怕的密碼學


接下來接著網路資安吧 耶~~~


阿時間好像不夠了ㄎㄎ


那你們可以期待明天的課程呦 啾咪

我就懶


推薦一個東東叫做 picoCTF

image alt


希望今天的內容可以讓你們學到一些東西 :D


最後送大家一句話<3

xzzbmq vlro cxfirob xka jlsb lk